/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package decoupeur;

import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import test_porte_variable.Machine;

/**
 *
 * @author phoebus
 */
public class lecture_major {

    /**
     * Comptabilise le nombre de ligne dans le fichier major.txt
     *
     * @param lefichier fichier texte contenant la liste des instructions
     * majeurs
     * @return retourne un entier contenant le nombre de ligne du fichier
     */
    public static int nbligne_major(String lefichier) {


        int nombre_de_ligne = 0;

        try {
            FileInputStream fis = new FileInputStream(lefichier);
            LineNumberReader l = new LineNumberReader(
                    new BufferedReader(new InputStreamReader(fis)));
            String str;
            while ((str = l.readLine()) != null) {
                nombre_de_ligne = l.getLineNumber();
            }


        } catch (IOException ex) {
            Logger.getLogger(lecture_major.class.getName()).log(Level.SEVERE, null, ex);
        }
        return nombre_de_ligne;
    }

    /**
     * verfie la présense d un des mots majeur dans la phrase APT
     *
     * @param phrase_apt la phrase extraite du fichier aptsource
     * @param lefichier nom du fichier major.txt
     * @return un mot si il existe null si il n'éxiste pas
     */
    public static String estpresent(String phrase_apt, String[] listmotmajor) {
        String reponse = null;
        
        for (String mot :listmotmajor) {
            if (phrase_apt.indexOf(mot)==0) {
                reponse= mot;
            }
 
        }
        return reponse;
    }

    /**
     * Etablit une liste de mot majeurs extraite du fichier major.txt
     *
     * @param lefichier nom du fichier txt major.txt
     * @param longueur_de_fichier nombre de ligne dans le fichier major.txt
     * @return une liste de mot majeurs
     */
    public static String[] listmot_majeur(String lefichier, int longueur_de_fichier) {
        String[] maliste = new String[longueur_de_fichier];
        try {
            FileInputStream fis = new FileInputStream(lefichier);
            LineNumberReader l = new LineNumberReader(
                    new BufferedReader(new InputStreamReader(fis)));


            String str;
            int i = 0;
            while ((str = l.readLine()) != null) {
                maliste[i] = str.replace(" ", "");
                i=i+1;
            }
        } catch (IOException ex) {
            Logger.getLogger(lecture_major.class.getName()).log(Level.SEVERE, null, ex);
        }

        return maliste;
    }
    /**
     * parcour le fichier major.txt et rempli la liste des mots
     * @param lefichier
     * @param longueur_de_fichier
     * @return 
     */
public static String[] lire_mot(String lefichier, int longueur_de_fichier) {
        String reponse[] = new String[longueur_de_fichier];
       
        try {
            FileInputStream fis = new FileInputStream(lefichier);
            LineNumberReader l = new LineNumberReader(
                    new BufferedReader(new InputStreamReader(fis)));


            String str;
int i=0;
            while ((str = l.readLine()) != null) {
               reponse[i]=str.replace(" ", "");
               i=i+1;
            }


        } catch (IOException ex) {
            Logger.getLogger(lecture_major.class.getName()).log(Level.SEVERE, null, ex);
        }
       
        return reponse;
    }
}
